iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
Modern Web

Rust 新手村系列 第 5

Rust-值,變數,物件

  • 分享至 

  • xImage
  •  

不應將值,變數,物件混淆為一體

單詞"值"表示抽象的數學概念,

例如值:"9527"是指數學9527的數學概念,在數學上"9527"只會有一個"9527"的數字

例如值:"hello, word!"從概念上也只會有一個

值可以存在電腦裡的記憶體裡,可以在記憶體的多個位置儲存數字"9527",可以有兩個不同位置都儲放"9257"

在記憶體中包含值的部分稱為物件,兩個位於記憶體中不同位置的不同物件如果包含相同的內容則可以稱為它們"相等"

在編譯Rust時,生成可以執行的程式會包含具有存儲位置和值的物件,這些物件沒有名稱
但是在程式碼中會希望將名稱與物件相關聯,以便以後可以引用它們這個東西可以稱為變數

例如

let num = 9527;
print!("{}", num);

輸出9257

第一行表示:

  • 它在記憶中劃出一個足夠大的物件,以包含一個整數
  • 它以二進制格式將值"9527"儲存在該物件中
  • 它將名稱num與該物件做關聯,以便之後在程式碼中使用該名稱num來指示這個物件

建立識別字 (Identifier) 的規則

變數名稱又稱為識別字。識別字原本在 Rust 程式中是沒有意義的,透過宣告變數這項動作對特定識別字賦予關聯。

Rust 的識別字採用以下規則:

  • 第一個字元為英文或底線 _
  • 第二個之後的字元為英文、數字或底線
  • 只有單一的底線 _ 不是變數

以下是合 Rust 規範的變數名稱:

  • a
  • a1
  • a_var
  • aVar
  • _var

Rust建議使用蛇行(snake case)命名(例:a_var_snake_name)

而非駝峰(camel case)命名(例:aVarCamelName)

跟golang顛倒,沒有好壞只要統一風格就好

Rust會對不符合其撰碼風格的變數或函式名稱發出警告訊息,但不會引發錯誤


上一篇
Rust-變數
下一篇
Rust-資料型別-整數、浮點數
系列文
Rust 新手村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言